﻿using Newtonsoft.Json;
using QWManage.Utils;

namespace QWManage.API.TagMgr92118
{
    /// <summary>
    /// 编辑客户企业标签(企业可通过此接口为指定成员的客户添加上由企业统一配置的标签；注意，每个成员对同一个客户最多可以添加3000个标签。)
    /// </summary>
    public class TagMgrAPI
    {
        //https://developer.work.weixin.qq.com/document/path/92118
        //请求方式：POST（HTTPS）
        //请求地址：https://qyapi.weixin.qq.com/cgi-bin/externalcontact/mark_tag?access_token=ACCESS_TOKEN
        //请求示例：
        /*
        {
            "userid":"zhangsan",
            "external_userid":"woAJ2GCAAAd1NPGHKSD4wKmE8Aabj9AAA",
            "add_tag":["TAGID1","TAGID2"],
            "remove_tag":["TAGID3","TAGID4"]
        }
        */
        /*
            参数	必须	说明
            access_token	是	调用接口凭证
            userid	是	添加外部联系人的userid
            external_userid	是	外部联系人userid
            add_tag	否	要标记的标签列表
            remove_tag	否	要移除的标签列表
         */
        /*
            请确保external_userid是userid的外部联系人。
            add_tag和remove_tag不可同时为空。
            同一个标签组下现已支持多个标签
         */
        public static bool Invoke(string token, TagMgrArgs args)
        {
            string url = $"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/mark_tag?access_token={token}";
            string parameters = JsonConvert.SerializeObject(args);
            string result = HttpHelper.Submit(url, parameters);
            return result == "{\"errcode\":0,\"errmsg\":\"ok\"}";
        }
    }

    public class TagMgrArgs
    {
        public string userid { set; get; }
        public string external_userid { set; get; }
        public string[] add_tag { set; get; }
        public string[] remove_tag { set; get; }
    }
}
